Current database management techniques typically design a database as a single tier. The database can include multiple tables for storing different types of data. For example, to store user data of users of an application, a user table can be created to store the user data. Similarly, to store data about a calendar of users, a calendar table may be created. One problem with such techniques is that as the amount of data stored in the database grows, the table size also increases, which can impact the performance of the database, e.g., result in increased consumption of computing resources for performing read/write operations. In order to overcome such situations, some techniques partition a table into multiple tables to store subsets of the data stored in the table and store the partitioned tables on different storage devices. Over time, as the amount of data stored in the database grows, the number of storage devices required to store the data also increases, which results in increased data storage costs.
Some techniques categorize data into hot data, e.g., frequently requested data, and cold data, e.g., data that is not hot data, and store the hot data in a cache, e.g., memory of computing system while storing both the hot data and cold data in persistent storage devices. However, these techniques do not address the problems associated with storing data in persistent storage devices at least because even if the hot data is stored in the memory, it still has to be stored in the persistent storage device of the database and the problem of storing ever growing data still persists. Accordingly, the current techniques for categorizing the data to be stored in memory and the database, and the current single tier database storage architecture do not provide an efficient data storage mechanism.